<?php namespace Common\Model;
use Hdphp\Model\Model;
//品牌模型
class Brand extends  Model{
	//指明表
	protected $table ="brand";
	//自动验证
	protected $validate = array(
		//array(字段名,验证方法,错误信息,验证条件,验证时间)
		array('brand_name','required','品牌名称不能为空',3,3),
		array('brand_logo','required','品牌LOGO不能为空',2,3)
	);
	//自动完成
	protected $auto = array(
		//3 是必须处理的表单， 1 是在插入的时候处理
		array('brand_logo','brand_logo','method',3,3),
		array('is_hot','is_hot','method',3,3)
	);

	/*
	 * 上传品牌LOGO
	 * Image::thumb($file, $outFile, $thumbWidth, $thumbHeight, $thunbType);
	 *               图片   缩略图文件    缩略宽度         缩略高度             缩略方式
	 */
	public function brand_logo(){
		if(isset($_FILES['brand_logo']) && $_FILES['brand_logo']['error'] != 4){
			$files = Upload::path('files/brand')->type('jpg,png,gif')->size(2000000)->make();
			if($files){
				//1.生成缩略图
				$thumbPath = Image::thumb($files[0]['path'],$files[0]['path'],100,60,2);
				//2.存入数据库
				return $thumbPath;
			}
		}
		//编辑时，若有隐藏域$_POST['brand_logo']，返回旧地址 存入数据库
		if($brand_logo = Q('post.brand_logo')){
			return $brand_logo;
		}
		//若用户没上传，返回空字符串 存入数据库
		return '';
	}
	//是否热门
	public function is_hot(){
		if(Q('post.is_hot')){
			return 1;
		}else{
			return 0;
		}
	}
	
	//添加
	public function store(){
		if(!$this->create()) return false;
        
		$brand_name = Q('post.brand_name');
        foreach($this->get() as $v){
       		if($brand_name == $v['brand_name']){
				$this->error = '品牌已存在';
				return false;
       		}
        }

		$this->add();
		return true;
	}
	//编辑
	public function edit(){
		if(!$this->create()) return false;
		//如果上传失败
		if($error = Upload::getError()){
			$this->error = $error;
			return false;
		}
				
		$oldData = $this->where("brand_id=" . Q('get.brand_id',0,'intval'))->find();
		$brand_name = Q('post.brand_name');
        foreach($this->get() as $v){
        	if($brand_name != $oldData['brand_name']){
	       		if($brand_name == $v['brand_name']){
					$this->error = '品牌已存在';
					return false;
	       		}
        	}
       }
		
		//二、修改
		$brand_logo = Q('post.brand_logo');
		if(!empty($brand_logo)){
			$brand_logo = $this->where("brand_id=" . Q('get.brand_id',0,'intval'))->pluck('brand_logo');
			//删除文件
			if(is_file($brand_logo)){
				unlink($brand_logo);
			}
		}
		$this->where("brand_id=" .Q('get.brand_id',0,'intval'))->save();
		return true;
	}
	
	
	
}























 ?>